<html>
<head><meta charset="utf-8"><title>MIR building question · t-compiler/help · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/index.html">t-compiler/help</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html">MIR building question</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="166769392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166769392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166769392">(May 28 2019 at 23:20)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/721268583759224d0f6476e0b8b196cc8afbdea0/src/librustc_mir/build/scope.rs#L693-L739" target="_blank" title="https://github.com/rust-lang/rust/blob/721268583759224d0f6476e0b8b196cc8afbdea0/src/librustc_mir/build/scope.rs#L693-L739">https://github.com/rust-lang/rust/blob/721268583759224d0f6476e0b8b196cc8afbdea0/src/librustc_mir/build/scope.rs#L693-L739</a><br>
^ this call to <code>invalidate_cache</code> causes the unwind cache for every drop in an inner scope to be invalidated. Can someone explain why this is necessary?</p>



<a name="166769533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166769533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166769533">(May 28 2019 at 23:22)</a>:</h4>
<p>i.e. if we added <code>drop(new)</code> to the outer scope, presumably none of the drops that would already added to the inner scope would ever need to go through this new drop</p>



<a name="166769561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166769561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166769561">(May 28 2019 at 23:23)</a>:</h4>
<p>or are there cases where you would need to?</p>



<a name="166769823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166769823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166769823">(May 28 2019 at 23:26)</a>:</h4>
<p>cache here is for entry points, not for drops themselves.</p>



<a name="166769923"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166769923" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166769923">(May 28 2019 at 23:28)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="119009">@eddyb</span></p>



<a name="166769954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166769954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166769954">(May 28 2019 at 23:28)</a>:</h4>
<p>For reference I wrote that comment and the caching code.</p>



<a name="166769970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166769970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166769970">(May 28 2019 at 23:29)</a>:</h4>
<p><span class="user-mention" data-user-id="123586">@nagisa</span> entry points to what? I'm specifically referring to this line where the drop cache is invalidated: <a href="https://github.com/rust-lang/rust/blob/721268583759224d0f6476e0b8b196cc8afbdea0/src/librustc_mir/build/scope.rs#L245" target="_blank" title="https://github.com/rust-lang/rust/blob/721268583759224d0f6476e0b8b196cc8afbdea0/src/librustc_mir/build/scope.rs#L245">https://github.com/rust-lang/rust/blob/721268583759224d0f6476e0b8b196cc8afbdea0/src/librustc_mir/build/scope.rs#L245</a></p>



<a name="166769977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166769977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166769977">(May 28 2019 at 23:29)</a>:</h4>
<p><span class="user-mention" data-user-id="123586">@nagisa</span> sorry, I'd already asked eddyb to help and they couldn't find the topic</p>



<a name="166769995"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166769995" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166769995">(May 28 2019 at 23:30)</a>:</h4>
<p><span class="user-mention" data-user-id="123586">@nagisa</span> but your help is welcome :)</p>



<a name="166770062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770062">(May 28 2019 at 23:30)</a>:</h4>
<p>So if we did not invalidate the cache for "middle scope", its branch would still be into the "old" <del>inner</del> outer scope which may potentially contain new drops.</p>



<a name="166770082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770082">(May 28 2019 at 23:31)</a>:</h4>
<p>it is quite possible that the cache invalidation here is overzealous but it is also necessary at the granularity of invalidation that we currently have.</p>



<a name="166770183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770183">(May 28 2019 at 23:33)</a>:</h4>
<p>do you mean the "old" outer scope? I don't think the middle scope would branch to the inner scope</p>



<a name="166770184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770184">(May 28 2019 at 23:33)</a>:</h4>
<p>To answer the question about entry points: the cache maps <code>scope -&gt; bb</code> if my memory serves me right and it is possible for a scope to gain new drops as the building of MIR goes on. So if a drop gets added into some scope that’s more inner the whole chain of scopes and their basic blocks must be rebuilt to eventually reference some basic block with the new drop included</p>



<a name="166770381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770381">(May 28 2019 at 23:36)</a>:</h4>
<blockquote>
<p>do you mean the "old" outer scope? I don't think the middle scope would branch to the inner scope</p>
</blockquote>
<p>Yeah I meant outer scope.</p>



<a name="166770390"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770390" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770390">(May 28 2019 at 23:37)</a>:</h4>
<p>I think part of what's confusing in this conversation is that there are two caches, one on the scope level (<code>cached_exits</code>) and one on the per-drop level for unwinds</p>



<a name="166770400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770400">(May 28 2019 at 23:37)</a>:</h4>
<p>I'm specifically asking about the unwind cache</p>



<a name="166770536"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770536" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770536">(May 28 2019 at 23:39)</a>:</h4>
<p>not sure if that was clear</p>



<a name="166770547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770547">(May 28 2019 at 23:39)</a>:</h4>
<p>The explanation applies as much there as it does here.</p>



<a name="166770617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770617">(May 28 2019 at 23:40)</a>:</h4>
<p>Like I said, it is likely that the invalidation implementation is somewhat overzealous, but it is only because it is not granular enough to know what exactly it needs to invalidate.</p>



<a name="166770777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770777">(May 28 2019 at 23:43)</a>:</h4>
<p>Hmm okay, so just to make sure, this is for the situation where we add a new drop to an outer/middle scope, and we need to invalidate the cached unwind blocks of more "inner" scopes</p>



<a name="166770853"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770853" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770853">(May 28 2019 at 23:44)</a>:</h4>
<p>Well, entry points at certain scopes, but yeah.</p>



<a name="166770952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770952">(May 28 2019 at 23:46)</a>:</h4>
<p>What gets cached is an entry point to a whole chain of drops until the the exit from the function. So everything more-inner than the added drop must be invalidated.</p>



<a name="166770953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770953">(May 28 2019 at 23:46)</a>:</h4>
<p>ok I think this is where my understanding of the code was wrong</p>



<a name="166770958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770958">(May 28 2019 at 23:46)</a>:</h4>
<p>I was assuming that we would only add the drop to the outer scope at this point, if the drop occurs after the inner scope has already ended</p>



<a name="166770981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166770981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166770981">(May 28 2019 at 23:46)</a>:</h4>
<p>but if the scope had already ended at this point in the MIR, presumably it wouldn't be on our stack of scopes</p>



<a name="166771060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771060">(May 28 2019 at 23:48)</a>:</h4>
<p>I'm basically trying to imagine a situation where this actually occurs when building the MIR :)</p>



<a name="166771084"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771084" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771084">(May 28 2019 at 23:49)</a>:</h4>
<p>Inner-most scopes come and go, yes, but they can continue to add drops into scopes that are more outer than the innermost scope. For example <code>let x = { let y = Droppable; Droppable }</code> adds a drop to an inner scope as a part of an assignment to <code>y</code> and another one to a more outer scope as a part of assignment to <code>x</code>.</p>



<a name="166771116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771116">(May 28 2019 at 23:49)</a>:</h4>
<p>even though both drops get added when the innermost scope is on the scope stack.</p>



<a name="166771189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771189">(May 28 2019 at 23:50)</a>:</h4>
<p>(AFAIR anyway, it has been a long while since I dealt with that code).</p>



<a name="166771195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771195">(May 28 2019 at 23:50)</a>:</h4>
<p>There are a number of complications when building match code for example.</p>



<a name="166771240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771240">(May 28 2019 at 23:51)</a>:</h4>
<p>We used to have a case where we would build N identical drop chains for each match, which was the motivation for this code.</p>



<a name="166771306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771306">(May 28 2019 at 23:52)</a>:</h4>
<p>ahh okay</p>



<a name="166771310"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771310" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771310">(May 28 2019 at 23:52)</a>:</h4>
<p>even though the match was considered all one scope</p>



<a name="166771311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771311">(May 28 2019 at 23:52)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/34307" target="_blank" title="https://github.com/rust-lang/rust/pull/34307">https://github.com/rust-lang/rust/pull/34307</a> has some pretty images.</p>



<a name="166771340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771340">(May 28 2019 at 23:53)</a>:</h4>
<p>(namely <a href="https://cloud.githubusercontent.com/assets/679122/16122708/ce0024d8-33f0-11e6-93c2-e1c44b910db2.png" target="_blank" title="https://cloud.githubusercontent.com/assets/679122/16122708/ce0024d8-33f0-11e6-93c2-e1c44b910db2.png">https://cloud.githubusercontent.com/assets/679122/16122708/ce0024d8-33f0-11e6-93c2-e1c44b910db2.png</a> and <a href="https://cloud.githubusercontent.com/assets/679122/16122806/294fb16e-33f1-11e6-95f6-16c5438231af.png" target="_blank" title="https://cloud.githubusercontent.com/assets/679122/16122806/294fb16e-33f1-11e6-95f6-16c5438231af.png">https://cloud.githubusercontent.com/assets/679122/16122806/294fb16e-33f1-11e6-95f6-16c5438231af.png</a>)</p>
<div class="message_inline_image"><a href="https://cloud.githubusercontent.com/assets/679122/16122708/ce0024d8-33f0-11e6-93c2-e1c44b910db2.png" target="_blank" title="https://cloud.githubusercontent.com/assets/679122/16122708/ce0024d8-33f0-11e6-93c2-e1c44b910db2.png"><img src="https://cloud.githubusercontent.com/assets/679122/16122708/ce0024d8-33f0-11e6-93c2-e1c44b910db2.png"></a></div><div class="message_inline_image"><a href="https://cloud.githubusercontent.com/assets/679122/16122806/294fb16e-33f1-11e6-95f6-16c5438231af.png" target="_blank" title="https://cloud.githubusercontent.com/assets/679122/16122806/294fb16e-33f1-11e6-95f6-16c5438231af.png"><img src="https://cloud.githubusercontent.com/assets/679122/16122806/294fb16e-33f1-11e6-95f6-16c5438231af.png"></a></div>



<a name="166771353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771353">(May 28 2019 at 23:53)</a>:</h4>
<p>that is quite a cleanup :D</p>



<a name="166771356"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771356" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771356">(May 28 2019 at 23:53)</a>:</h4>
<p>(no pun intended)</p>



<a name="166771466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tmandry <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771466">(May 28 2019 at 23:55)</a>:</h4>
<p>Okay, I feel like I kind of understand this now. Thanks XD</p>



<a name="166771573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/182449-t-compiler/help/topic/MIR%20building%20question/near/166771573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/182449-t-compiler/help/topic/MIR.20building.20question.html#166771573">(May 28 2019 at 23:57)</a>:</h4>
<p>You’re welcome.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>